/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Bean;

import Dao.CdrDao;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import util.Utils;

/**
 *
 * @author Joel
 */
@ManagedBean
@SessionScoped
public class LoginBean implements Serializable {

    private String id;
    private String pass;
    CdrDao cd = new CdrDao();

    /**
     * Creates a new instance of LoginBean
     */
    public LoginBean() {
    }

    public void ENTRAR() {
        if (!esValido()) {
            return;
        }
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("id", id);
        Utils.putSession("id", id);
        try {
            String redireciona = "";
            if (id.compareTo("admin") != 0) {
                redireciona = "/ProyectoRedes/menu.xhtml";
            } else {
                redireciona = "/ProyectoRedes/menu2.xhtml";
            }
            FacesContext fc = FacesContext.getCurrentInstance();
            fc.getExternalContext().redirect(redireciona);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean esValido() {
        if (Utils.esNulo(id) || Utils.esNulo(pass)) {
            Utils.enviarMensajeGlobalError("Debe ingresar su ID y su PASSWORD");
            return false;
        }
        if (id.compareTo("admin") != 0) {
            if (Utils.esSoloNumero(id) || Utils.esSoloNumero(pass)) {
                Utils.enviarMensajeGlobalError("El ID debe ser númerico");
                return false;
            }
            if (cd.buscarporId(id) == null) {
                Utils.enviarMensajeGlobalError("Usuario invalido");
                return false;
            }
            if (!id.equals(pass)) {
                Utils.enviarMensajeGlobalError("Clave Incorrecta");
                return false;
            }
        } else {
            if (pass.compareTo("redes3") != 0) {
                Utils.enviarMensajeGlobalError("Clave Incorrecta");
                return false;
            }
        }
        return true;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

}
